package main

import "fmt"

func main() {
	// +号
	// 1. 整数
	var n1 int = +10
	fmt.Println(n1)
	// 2. 相加操作
	var n2 int = 4 + 7
	fmt.Println(n2)
	// 3. 字符串拼接
	var s string = "abc" + "def"
	fmt.Println(s)

	// / 除号
	fmt.Println(10 / 3)   // 3
	fmt.Println(10.0 / 3) // 3.3333333333333335

	// % 取模
	fmt.Println(10 % 3)   // 1
	fmt.Println(10 % 3)   // 1
	fmt.Println(10 % -3)  // 1
	fmt.Println(-10 % -3) // -1

	// ++ 自增操作
	var a int = 10
	a++
	fmt.Println(a) // 11
	a--
	fmt.Println(a) // 10
	// go里面, ++ 或 -- 操作非常简单,只能单独使用,不能参数运算中
	// ++ 或 -- 只能在变量后面

	var num1 int = 10
	fmt.Println(num1)
	var num2 int = (10+20)%3 + 3 - 7
	fmt.Println(num2) // -4

	var num3 int = 10
	//num3 = num3 + 20
	num3 += 20
	fmt.Println(num3) // 30

	fmt.Println(5 == 9) // false
	fmt.Println(5 != 9) // true
	fmt.Println(5 >= 9) // false
	fmt.Println(5 < 9)  // true
	fmt.Println(5 >= 9) // false
	fmt.Println(5 <= 9) // true

	// 与运算
	fmt.Println(true && true)   // true
	fmt.Println(true && false)  // false
	fmt.Println(false && true)  // false
	fmt.Println(false && false) // false

	// 或运算
	fmt.Println(true || true)   // true
	fmt.Println(true || false)  // true
	fmt.Println(false || true)  // true
	fmt.Println(false || false) // false

	// 非运算
	fmt.Println(!true)  // false
	fmt.Println(!false) // true
}
